Search engine supporting mixed image &amp; text search input

ABSTRACT

Searching of images by correlating a search image with a plurality of images hosted in Internet based servers by an image search server. The image search server supports delivery of search result pages to a client device based upon a search string or search image, and contains images from a plurality of Internet based web hosting servers. The image search server delivers a search result page containing images upon receiving a search string and/or search image from the web browser. The selection of images in the search result page is based upon: (i) word match, that is, by selecting images, titles of which correspond to the search string; and (ii) image correlation, that is, by selecting images, image characteristics of which correlates to that of search image. The selection of images in the search result page also occurs on the basis of popularity.

CROSS REFERENCES TO RELATED APPLICATIONS

The present application is a continuation of U.S. Ser. No. 13/465,397,filed May 7, 2012, co-pending, which is a continuation of U.S. Ser. No.12/185,804, filed Aug. 4, 2008, now issued as U.S. Pat. No. 8,180,788,which claims priority under 35 U.S.C. 119(e) to U.S. ProvisionalApplication Ser. No. 61/059,196, filed Jun. 5, 2008, and having a commontitle with the present application, which is incorporated herein byreference in their entirety for all purposes.

The present application is related to co-pending Utility applicationSer. No. 12/185,796 filed on Aug. 4, 2008, now issued, entitled “IMAGESEARCH ENGINE USING IMAGE ANALYSIS AND CATEGORIZATION”, (ENJUS01), whichis incorporated herein in its entirety by reference for all purposes.

BACKGROUND

1. Technical Field

The present invention relates generally to Internet infrastructures;and, more particularly, to search engines.

2. Related Art

Search engines form a gateway to the Internet by allowing users tonavigate through the World Wide Web in ways that are unparalleled. Newmanners of searching of web links containing desired content is that ofsearching for images in the Internet. Image searches allow a user tosearch for images that may exist anywhere in a plurality web hostingservers in the Internet. Users may search for images with a wide varietyof interests such as business, engineering and scientific research aswell as home based general interests.

Search engines typically identify an image result list and sort thembased upon search keyword (or, search string) hit accuracy (by comparingwords of the search string with that of titles of plurality of images inthe Internet based web hosting servers) and prior user selectionpopularity. The image search results are typically displayed in fourrows by four columns (or some other combination of rows and columns),with a ‘next’ button leading to the next image search result page and a‘previous’ button leading to a previous image search result page. If auser does not find what he/she were looking for in the first few imagesearch result pages, subsequent pages are unlikely to yield usefulresults.

Often when they search, they have in mind what they expect to see inimages. However, searching for an image results in wide variety ofimages being displayed, many of them hardly correspond to the user'sexpectations in searching. Many of the images contain adult contentwhich are not desirable in many instances, such as when childrensearching for images or when searching in front of an audience. Thereason for the results not being what is expected is that the searchengines only attempt to match the search string with that of titles ofimages. Therefore, results become vague, many times even 10 pages ofresults yield very little user desired images.

Desiring to find images of certain kind of beach houses, for example, auser may enter ‘beach houses’ as the image search sequence and mayreceive a long list of images of variety of houses, people in beaches,page after page. Not getting desired results in the initial page, theuser may step through several screens via the ‘next’ button. This againresults in many of the same kind of images that were previouslyunhelpful.

These and other limitations and deficiencies associated with the relatedart may be more fully appreciated by those skilled in the art aftercomparing such related art with various aspects of the present inventionas set forth herein with reference to the figures.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic block diagram illustrating an Internetinfrastructure containing a client device and (web browser accessible)image search server, wherein the image search server delivers imagesbased upon a search string and search image;

FIG. 2 is an exemplary schematic block diagram illustrating snap shot ofan image search page containing ‘image search’ and adult content filterbuttons;

FIG. 3 is an exemplary schematic block diagram illustrating snap shot ofa first search result page of images containing ‘image search’, ‘adultcontent filter’, ‘prey’, ‘next’ buttons, and an ‘upload new figure’ textbox; wherein an image is selectable for further image searches;

FIG. 4 is a schematic block diagram illustrating exemplary components ofthe image search server constructed in accordance with the embodiment ofFIG. 1 of the present invention;

FIG. 5 is a flow diagram illustrating exemplary functionality of theimage search server of FIG. 1;

FIG. 6 is a flow diagram illustrating exemplary functionality of theimage search server of FIG. 1, in detail; and

FIG. 7 is a flow diagram illustrating exemplary functionality of theimage search server of FIG. 1, in continuation of the FIG. 6.

DETAILED DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic block diagram illustrating an Internetinfrastructure 105 containing a client device 157 and (web browseraccessible) image search server 169, wherein the image search serverdelivers images based upon a search string and search image. Inparticular, in a representative embodiment, the image search server 169delivers one or more search result pages containing images based uponeither or both of a search string 153 and search image 155. The searchimage 155 may be submitted to the image search server 169, from theclient device's 157 web browser 151, by uploading the image in an imagesearch server's (search engine's) web page. Detailed description of anexemplary search engine's web page is provided with reference to thedescription of snap shot in FIG. 2.

The image search server 169 identifies one or more characteristicparameters of the search image 155 received from the client device's 157web browser 151. Then, the image search server 169 correlates thesecharacteristic parameter(s) with that or those of a plurality of imagesin an image database 181. The image search server 169 then selects andprioritizes images based upon closeness in correlation to that of thesearch image 155, and in some embodiments, on a popularity basis. Theimage search server 169 also matches one or more words in the searchstring 153 with that or those of titles of the plurality of images inthe image database 181 and selects one or more of a plurality of images.

In addition, the image search server 169 may filter for adult contentbased upon user settings in the client device's 157 web browser 151.These selected and filtered images are sorted on the basis ofcorrelation/popularity. Then, the image search server 169 delivers afirst few of the images selected on the basis of correlation with thecharacteristic parameter(s) of the search image 155 and first few of theimages selected on the basis of match with the search string 153, anddelivers a first search result page. The images in the image database181 are obtained from a plurality of web hosting servers by crawlingthrough them, or by submission from users. Detailed description of thefirst search result page is provided with reference to the descriptionof web page snap shot in FIG. 3, for example.

The image search server 169 contains an image correlation module 173that performs correlation processing between characteristic parameter(s)of search image 155 and that of the plurality of images in the imagedatabase 181. The correlated images in the image database 181 are givena unique image quotient number that represents the closeness to thesearch image 155. These image quotient numbers are tabled along withother image related aspects such as image titles and web links, forexample, where they were originally located. Then, the table is sortedon the basis of closeness of the images in the image database 181. Inaddition, in another table the first few images (above a threshold imagequotient number, for example) that closely correlate with the searchimage 155 are again sorted on the basis of popularity. These sortedimages may be filtered by an adult content filter module 175, by usingdigital image correlation. Again, for digital image correlation, theadult content filter module 175 may use sample images (instead of searchimage 155) with adult content.

An image text search module 177 uses word matching techniques to matchone or more words in the search string 153 with that or those of titlesof the plurality of images in the image database 181. The matched imagesin the image database 181 are given a unique text quotient number thatrepresents how closely the word(s) of the search string 153 and theword(s) of the titles of the images in the image database 181 match.These text quotient numbers are tabled along with image titles and weblinks where they are originally located. Then, the table is sorted onthe basis of closeness in match. In addition, in another table the firstfew images (above a threshold text quotient number, for example) thatclosely match are again sorted on the basis of popularity. These sortedimages may be filtered by the adult content filter module 175, by usingword matching techniques. Again, for word matching, the adult contentfilter module 175 may use sample adult content words.

Based upon the sorting of images and the filtering, in a representativeembodiment, four basic tables are formed: (i) sorted on the basis ofcloseness in correlation to the search image 155; (ii) sorted on thebasis of popularity within the first few closely correlated images in(i); (iii) sorted on the basis of closeness in match between the wordsin the titles of the plurality of images, in the image database 181, tothat of search string 153; and (iv) sorted on the basis of popularitywithin the first few closely matched images in (iii).

Finally, an image listing module 179 lists the images from the fourtables (i) through (iv) to form one or more search result pages, eachcontaining a certain portion of each of the tables (i) through (iv).This listing is done in a mutually exclusive manner so that none of theimages in any of the search result pages is repeated. Then, the imagesearch server 169 delivers a first of these search result pagescontaining a first few search results of each of the tables (i) through(iv), followed by subsequent search result pages.

To facilitate searching of images, the image search server 169 providesa web page containing a text box and ‘image search’ button (refer to 283and 383 in the FIGS. 2 and 3, respectively). The user may enter thesearch string 153 in the text box. In addition, another text boxprovides a user a facility to upload the search image 155, which appearsin a search image window of the web page. Alternatively, the user mayalso cut and paste the search image 155 in the search image window. Theuser may select or deselect adult content filter button. The settingsfor the adult content filter may be derived from the settings of the webbrowser or may be entered through an adult content setting pop-upwindow. Once either or both of the search string 153 and search image155 is provided to the web page, the user may click on ‘image search’button. The web browser 151, from the client device 157, sends thesearch string 153 and/or search image 155 to the image search server tofurther processing as mentioned above.

The search result page contains a series of images delivered by theimage search server 169, for example, a set of 16 images; four in eachrow. The search result page also contains ‘prey’ and ‘next’ buttons toaccess prior displayed search result pages and the subsequent searchresult pages, respectively. Each of the displayed search result pagescontains a certain portion of one of the four possible sorted tablecontents.

For example, a user may provide a search string ‘beach houses’ and asearch image of a house. Typically, a house image may be a hand drawnimage or images of ancient houses of a certain region, modern houses,beach houses, etc. The user may have uploaded a beach house imageintending to find more of beach houses of modern interest. Upon clicking‘image search’ button, the web browser 151 sends the search string(‘beach houses’) 153 and search image (of the beach house) 155 to theimage search server 169.

The image search server 169 begins processing image of the beach houseby extracting characteristic parameter(s) of the image such as, forexample and without limitation, pixels, colors of the pixels, strengthof the pixels and position of the pixels. Then, the image correlationmodule 173 correlates the characteristic parameter(s) of the image withthe already extracted characteristic parameter(s) of images in the imagedatabase 181. Closely correlated images resemble the search image 155 ofbeach house closely, thus extracting images that are most similar to theuser uploaded search image 155. Then, each of the images that arecorrelated is given a unique image quotient number that represents thecloseness to the search image 155 of the beach house. These imagequotient numbers are tabled along with image titles and web links, wherethey were originally located. Then, the table is sorted on the basis ofcloseness of the images in the image database 181, thus the first imageresembling closest to that of the search image (image of the beachhouse) 155. In addition, in another table, images (that are above athreshold image quotient number, for example, the first two thousandimages) that closely correlate with the search image 155 of the beachhouse are again sorted on the basis of popularity. These sorted imagesmay be filtered by an adult content filter module 175, by using digitalimage correlation.

In addition, the image text search module 177 matches the words ofsearch string ‘beach houses’ with the words of the titles of theplurality of images in the image database 181. Each of the matchedimages in the image database 181 is given a unique text quotient numberthat represents how closely the words of the search string 153 ‘beachhouses’ and the words of the titles of the images in the image database181 match. This results in images that are closely matched to the words‘beach houses’ as having a highest text quotient number. For, example,an image title having exact words ‘beach houses’ may have text quotientnumber 100.0000. These text quotient numbers are tabled along with imagetitles and web links, where they were originally located, and sorted indescending order. In addition, in another table, images (that are abovea threshold text quotient number, for example, the first two thousandimages) that closely match may again be sorted on the basis ofpopularity. These sorted images may be filtered by the adult contentfilter module 175, by using word matching techniques.

Finally, the image listing module 179 lists the images from the fourtables to form a plurality of search result pages. Then, the imagesearch server 169 delivers first of these search result pages containingfirst few search results of each of the tables. The first search resultpage may contain, for example, a set of 16 images; four in each row. Thefirst row may contain images that closely correlate to that of image ofthe beach house, the second row may contain the ones that are sorted onthe basis of popularity, the third row may contain images, words in thetitles of which closely match to the words ‘beach houses’ and the fourthrow may contain images with titles that closely match to the words‘beach houses’ and are sorted on the basis of popularity. The searchresult page also contain ‘prey’ and ‘next’ buttons to access priordisplayed search result pages and the subsequent search result pages,respectively.

FIG. 2 is an exemplary schematic block diagram illustrating snap shot ofan image search page 205 containing ‘image search’ 283 and ‘adultcontent filter’ 285 buttons. Specifically, the exemplary snap shotillustrated shows search engine's web page delivered to web browser 235of the client device to facilitate user's image search. The searchengine's web page delivered may contain a page title such as ‘SearchEngine's web page (www.Search_Engine.com)’ 221, and the ‘image search’283 and ‘adult content filter’ 285 (along with a text ‘Adult ContentFilter’ 287) buttons.

In addition, text such as ‘Enter Search String:’ 271 and text box 281are provided to facilitate user's search. An additional image window isprovided for the user to cut and paste or upload search image. Text suchas ‘Cut and Paste Figure Here:’ 271 and ‘Upload Figure:’ 295 areprovided to facilitate user's image search. Helpful note text thatinforms the user about the functioning of the image search engine, suchas ‘Note: This image search engine searches for images based upon asearch string and/or search image.’ may be provided with each of thesearch engine's web page.

The user may enter the search string in the text box 281, such as‘Children Art’ 273. The user may search on the basis of search stringalone. The image search server (169 of FIG. 1) provides images, in thiscase, based upon match in the words of the search string (Children andArt, in this illustration) with that of titles of the images that arestored in the image database (181 of FIG. 1). In addition, the user mayprovide a search image. This may be done by cutting from some otherimage tool (painting or image software, for example) and pasting it onto the window provided in the search engine's web page. Alternatively,the user may upload the image to the image window using the upload textbox and by providing the address of the image file in the client device(‘C:/Images/boat.jpg’ 297, in the illustration). The uploaded imageappears in the image window once upload image button 299 is clicked.

In addition, the user may select or deselect adult content filterbutton. The settings for the adult content filter may be provided fromthe settings of the web browser 235 or may be entered through an adultcontent setting pop-up window, using a clickable button (not shown inthis illustration). Once either or both of the search string 273 andsearch image are provided to the web page, the user may click on ‘imagesearch’ button 283. The web browser 235 sends the search string 273and/or search image to the image search server for further processing.

FIG. 3 is an exemplary schematic block diagram illustrating snap shot ofa first search result page 305 of images containing ‘image search’ 383,‘adult content filter’ 395, ‘prey’ 385, ‘next’ 389 buttons, and an‘upload new figure’ 395 text box; wherein an image is selectable forfurther image searches. Specifically, the exemplary snap shotillustrated shows a first search result page 305 delivered to webbrowser 335 of the client device, containing selected searched images,on the basis of a search string/search image. The first search resultpage delivered may contain a page title such as ‘Search Engine's SearchResult Page (www.Search_Engine.com)’ 321.

Text such as ‘Enter Search String:’ 371 and text box 381 are provided tofacilitate user's further search. An additional image window showssearched images, which are selectable for further search. That is, theimage window contains a series of images delivered by the image searchserver (169 of FIG. 1). For example, the image window illustrated maycontain a set of 16 images; in four rows and four columns. Each of thefour rows may, for example, contain: (i) images sorted on the basis ofcloseness in correlation to the search image; (ii) images sorted on thebasis of popularity within the first few closely correlated images in(i); (iii) images sorted on the basis of closeness in match between thewords in the titles of the plurality of images, in the image database,to that of search string; and (iv) images sorted on the basis ofpopularity within the first few closely matched images in (iii),respectively. The images in the images window may also have differentportions of one of the four possibilities mentioned above, in otherembodiments.

The image window facilitates a user to select any of the displayedimages for further search. The illustration shows a second image beingselected. Once selected, a user may click on the ‘image search’ button383 to initiate a new search based upon selected search image andentered search string in the text box 381. The illustration shows asearch string in the text box 381 as ‘Children Art’ 373, a selectedimage as a second one in the first row. Alternatively, the user mayupload a new image to the image window using the upload text box 397,and by providing the address of the image in the client device(‘C:/Images/boat.jpg’ 397, in the illustration). The uploaded imageappears in the image window once an upload image button 399 is clicked.Text such as ‘Select Figure for a New Search:’ 393 and ‘Upload NewFigure:’ 395 are provided to facilitate initiation of a new imagesearch. The user may select or deselect adult content filter button,before clicking on the ‘image search’ button 383.

The search result page also contains the ‘prey’ 385 and ‘next’ 389buttons to access prior displayed search result pages and the subsequentsearch result pages, respectively. By clicking on the title or doubleclicking on the image, the user may be able watch the correspondingimage in its original size in a pop-up window. Helpful note text thatinforms the user about the functioning of the image search engine of thepresent invention, such as ‘Note: This image search engine searches forimages based upon a search string and/or search image.’ may be providedwith each of the search engine's web page.

FIG. 4 is a schematic block diagram illustrating exemplary components ofthe image search server constructed in accordance with the embodiment ofFIG. 1 of the present invention. The image search server circuitry 407may, in whole or in part, be incorporated into any computing device thatis capable of serving as an Internet based server. The image searchserver circuitry 407 generally includes processing circuitry 409, localstorage 417, manager interfaces 449 and network interfaces 441. Thesecomponents are communicatively coupled to one another via one or more ofa system bus, dedicated communication pathways, or other direct orindirect communication pathways. The processing circuitry 409 may be, invarious embodiments, a microprocessor, a digital signal processor, astate machine, an application specific integrated circuit, a fieldprogramming gate array, or other processing circuitry.

Local storage 417 may be random access memory, read-only memory, flashmemory, a disk drive, an optical drive, or another type of memory thatis operable to store computer instructions and data. The local storage417 includes an image correlation module 421, adult content filtermodule 423, image text search module 425, image listing module 427 andimage database 431 to facilitate user's image search, in accordance withthe present invention.

The network interfaces 441 contain wired and wireless packet switchedinterfaces 445 and may also contain built-in or an independent interfaceprocessing circuitry 443. The network interfaces 441 allow the imagesearch server 407 to communicate with client devices such as the 461 andto deliver search result pages of images. The manager interfaces 449 mayinclude a display and keypad interfaces. These manager interfaces 449allow the user at the image search server to control aspects of thepresent invention. The client device 461 illustrated is communicativelycoupled to the image search server 407 via an Internet 455.

The image correlation module 421 performs correlation processing betweencharacteristic parameter(s) of the search image that the web browser ofthe client device 461 sends and that or those of the plurality of imagesin the image database 429. For example, the image correlation module 421may use an intelligent digital image correlation technique to correlatethe search image and the plurality of images in the image database 429.In addition, the image correlation module 421 assigns the correlatedimages in the image database 429 a unique image quotient number thatrepresents the closeness to the search image, and tables the imagequotient numbers along with other image related aspects such as imagetitles and web links. Then, the image correlation module 421 sorts thetable on the basis of image quotient number. In addition, the imagecorrelation module 421 sorts in another table the images that are abovea threshold image quotient number on the basis of popularity. Thesesorted images are then filtered by an adult content filter module 423,by using digital image correlation.

An image text search module 425 matches word(s) in the search string andthat or those of titles of the plurality of images in the image database429. Then, the image text search module 425 assigns the images in theimage database 429 a unique text quotient number that represents thecloseness in match along with other image related aspects such as, forexample, image titles and web links. Then, the image text search module425 sorts the table on the basis of text quotient number. In addition,in another table, the image text search module 425 sorts the images thatare above a threshold text quotient number on the basis of popularity.These sorted images are filtered by the adult content filter module 423,by using word matching techniques. Based upon the sorting of images andthe filtering, in a representative embodiment, four basic tables areformed. Finally, the image listing module 427 lists the images from thefour basic tables to form a plurality of search result pages, eachcontaining a certain portion of each of the four basic, in a mutuallyexclusive manner so that none of the images in any of the search resultpages is repeated.

In other embodiments, the image search server 407 may include fewer ormore components than are illustrated as well as lesser or furtherfunctionality. In other words, the illustrated image search server ismeant to merely offer one example of possible functionality andconstruction in accordance with aspects of the present invention.

FIG. 5 is a flow diagram illustrating exemplary functionality of theimage search server of FIG. 1. The functionality begins at a block 507when the image search server receives search string and/or search imagefrom the client device. Then, at a next block 509, the image searchserver matches word(s) in the search string with that or those of titlesof a plurality of images in the database and selects images. The processof selecting images involves word matching between the search string andthe titles of the images in the database. Then, the process involvesgenerating a table containing columns of images titles and web linksassociated with the images that are sorted on the basis of closeness inmatch. The image search server also creates another table that is sortedon the basis of popularity.

At a next block 511, the image search server correlates characteristicparameters of the search image with that of the plurality of images inthe database and selects images. The selection process involves creatinga table containing image titles and associated web links based uponcorrelation. The image search server then sorts the table on the basisof closeness in correlation. The image search server also createsanother table that is sorted on the basis of popularity. Thus, the imagesearch server creates two or four tables, depending upon theavailability of the search string or search image.

Then, at a next block 513, the image search server filters images withadult content from the images selected using search strings and/orsearch images with adult content. Then, the image search server liststhe images selected from the two or four tables to form a plurality ofsearch result pages, each containing a certain portion of each of thetwo or four tables. At a next block 515, the image search serverdelivers a first search result page containing a first few of theselected, sorted and filtered images using the search string and a firstfew selected, sorted and filtered images using the search image.

FIG. 6 is a flow diagram illustrating exemplary functionality of theimage search server of FIG. 1, in detail. The detailed functionalitybegins at a block 609 when the image search server receives a searchstring and/or a search image from the client device. At a next decisionblock 623, the image search server verifies if ‘prey’ button is clicked.The ‘prey’ button is disabled in a first search result page since thereare no previous pages available, and is enabled for subsequent searchresult pages. If ‘prey’ button is clicked, at a next block 637, theimage search server delivers an exact previous search result page andwaits for user response.

If not at the decision block 623, then, at a next decision block 625,the image search server verifies if ‘next’ button is clicked. If ‘next’button is clicked, at a next block 639, the image search server deliversa subsequent search result page. If not at the decision block 625, then,at a next decision block 627, the image search server verifies if‘search image’ button is clicked. If not, the image search server awaitsfor user response. The ‘image search’ button is clicked only if the userintends to restart another search process by: (i) changing the searchstring; (ii) uploading a new image into the image window; and/or (iii)selecting an image in the image window (among the displayed images of asearch result page). If yes at the decision block 627, then the processof selection of images that match the search criteria continues at ‘A’(refer to the FIG. 7, for continuation from ‘A’).

FIG. 7 is a flow diagram illustrating exemplary functionality of theimage search server of FIG. 1, in continuation of the FIG. 6. If yes atthe decision block 627 (in FIG. 6), continuing at ‘A’, the image searchserver matches word(s) in the search string with that or those of titlesof a plurality of images in the database. Then, at a next block 653, theimage search server selects images from the image database that closelymatch (for example, above predetermined threshold). The process ofselecting images starts when the matched images in the image databaseare given a unique text quotient number (that determines how closely thewords of the search string and the words of the titles of the images inthe image database match). Then, the image search server generates atable containing columns of images titles, web links associated with theimages and text quotient numbers. The image search server then sorts thetable on the basis of text quotient number. The image search server alsocreates another table that contains images titles, web links associatedwith the images and text quotient numbers (above a threshold textquotient number) that is sorted on the basis of popularity.

At a next block 655, the image search server correlates characteristicparameter(s) of the search image with that of the plurality of images inthe database. Then, at a next block 657, the image search server selectsimages from the image database that closely correlate (for example,above predetermined threshold). The image selection process using thesearch image starts when the image search server provides a unique imagequotient number (that represents the closeness of each image in thedatabase to that of the search image, based upon correlation). Then, theimage search server creates a table containing image titles, associatedweb links and image quotient numbers among other columns. The imagesearch server then sorts the table on the basis of image quotientnumbers. In another table, the image search server sorts the first fewimages that are above a threshold image quotient number on the basis ofpopularity. Thus, the image search server creates two or four tables,depending upon the availability of the search string or search image.

Then, at a next block 659, the image search server receives adultcontent filtering parameter(s) from the client device. The adult contentfiltering parameter(s) may be received when a search process isinitiated or any time after that. At a next block 661, the image searchserver performs filtering of images with adult content from the imagesselected using search strings and/or search images with adult content.

At a next block 663, the image search server generates two tables basedupon search string and two tables based upon search image and the sortsthe four tables. The sorting of tables is based upon text quotientnumber and image quotient number. Then, at a next block 665, the imagesearch server lists the images from the four tables to form a pluralityof search result pages, each containing a certain portion of each of thetwo or four tables. The image search server generates this listing in amutually exclusive manner so that none of the images in any of thesearch result pages is repeated. At a next block 667, the image serverdelivers a search result page. Then, the image search server waits foruser response, at ‘B’ (refer to FIG. 6). This process continues tilluser abandons the search.

The terms “circuit” and “circuitry” as used herein may refer to anindependent circuit or to a portion of a multifunctional circuit thatperforms multiple underlying functions. For example, depending on theembodiment, processing circuitry may be implemented as a single chipprocessor or as a plurality of processing chips. Likewise, a firstcircuit and a second circuit may be combined in one embodiment into asingle circuit or, in another embodiment, operate independently perhapsin separate chips. The term “chip”, as used herein, refers to anintegrated circuit. Circuits and circuitry may comprise general orspecific purpose hardware, or may comprise such hardware and associatedsoftware such as firmware or object code.

As one of ordinary skill in the art will appreciate, the terms “operablycoupled” and “communicatively coupled,” as may be used herein, includedirect coupling and indirect coupling via another component, element,circuit, or module where, for indirect coupling, the interveningcomponent, element, circuit, or module does not modify the informationof a signal but may adjust its current level, voltage level, and/orpower level. As one of ordinary skill in the art will also appreciate,inferred coupling (i.e., where one element is coupled to another elementby inference) includes direct and indirect coupling between two elementsin the same manner as “operably coupled” and “communicatively coupled.”

The present invention has also been described above with the aid ofmethod steps illustrating the performance of specified functions andrelationships thereof. The boundaries and sequence of these functionalbuilding blocks and method steps have been arbitrarily defined hereinfor convenience of description. Alternate boundaries and sequences canbe defined so long as the specified functions and relationships areappropriately performed. Any such alternate boundaries or sequences arethus within the scope and spirit of the claimed invention.

The present invention has been described above with the aid offunctional building blocks illustrating the performance of certainsignificant functions. The boundaries of these functional buildingblocks have been arbitrarily defined for convenience of description.Alternate boundaries could be defined as long as the certain significantfunctions are appropriately performed. Similarly, flow diagram blocksmay also have been arbitrarily defined herein to illustrate certainsignificant functionality. To the extent used, the flow diagram blockboundaries and sequence could have been defined otherwise and stillperform the certain significant functionality. Such alternatedefinitions of both functional building blocks and flow diagram blocksand sequences are thus within the scope and spirit of the claimedinvention.

One of average skill in the art will also recognize that the functionalbuilding blocks, and other illustrative blocks, modules and componentsherein, can be implemented as illustrated or by discrete components,application specific integrated circuits, processors executingappropriate software and the like or any combination thereof.

Moreover, although described in detail for purposes of clarity andunderstanding by way of the aforementioned embodiments, the presentinvention is not limited to such embodiments. It will be obvious to oneof average skill in the art that various changes and modifications maybe practiced within the spirit and scope of the invention, as limitedonly by the scope of the appended claims.

1. A method performed by an image search infrastructure that supportsdelivering of images to a client device containing a web browser, themethod comprising: receiving a search string and a search image from theclient device's web browser; selecting a first set of images from aplurality of images, the plurality of images having been identifiedalong with associated text during a web crawling process, the first setof images comprising images with associated text that matches words ofthe search string; selecting a second set of images from the pluralityof images, the second set of images comprising images havingcharacteristic parameters that are similar to the characteristicparameters of the search image; and delivering a first search resultpage comprising at least a first portion of the first set of images andat east a second portion of the second set of images.
 2. The method ofclaim 1, further comprising performing adult content filtering.
 3. Themethod of claim 2, wherein the performing of the adult content filteringbeing responsive to an adult filtering selection made via the webbrowser.
 4. The method of claim 1, further comprising analyzing theplurality of images and the search image to identify the characteristicparameters.
 5. The method of claim 4, wherein the analysis of theplurality of images occurs in advance of receiving the search image. 6.The method of claim 5, further comprising storing the characteristicparameters of the plurality of images in a first data structure that isassociated with a second data structure, the second data structurestoring representations of the associated text.
 7. The method of claim6, further comprising gathering and storing the plurality of images in athird data structure.
 8. An image search infrastructure that supports adelivery of images selected from a plurality of images to a clientdevice with a web browser, the plurality of images and associated textbeing identified in a web crawling process, the image searchinfrastructure comprising: a communication interface; a processinginfrastructure that receives via the communication interface a searchstring and a search image; the processing infrastructure being capableof identifying both a first set of images and a second set of images,the first set of images being identified by comparing the search stringwith the associated text of the plurality of images, and the second setof images being identified by comparing characteristics of the searchimage with characteristics of the plurality of images; and theprocessing infrastructure delivers at least one of the first set ofimages and the second set of images via the communication interface. 9.The image search infrastructure of claim 8, wherein the deliverycomprises images that pass an adult content filtering process.
 10. Theimage search infrastructure of claim 9, wherein the adult contentfiltering process is selected to be applied in response to a usersetting indication.
 11. The image search infrastructure of claim 8,wherein the processing infrastructure analyzes the plurality of imagesand the search image to identify the characteristic parameters.
 12. Theimage search infrastructure of claim 11, wherein the analysis of theplurality of images occurs in advance of receiving the search image. 13.The image search infrastructure of claim 5, further comprising storagethat has both a first data structure and a second data structure, thefirst data structure containing data relating to the characteristics ofthe plurality of images, and the second data structure containing theassociated text.
 14. An image search infrastructure that supportsdeliveries of images selected from a plurality of images to a pluralityof client devices, the plurality of images and associated text beingidentified in a web crawling process, the image search infrastructurecomprising: a communication interface; a processing infrastructure thatreceives via the communication interface a plurality of search inputfrom the plurality of client devices, each of the plurality of searchinput comprising at least one of a search string, and a search image;the processing infrastructure responds to a first of the plurality ofsearch input via a text matching process to generate a first searchresults containing first images; and the processing infrastructureresponds to a second of the plurality of search input via an imagecharacteristics matching process to generate a second search resultscontaining second images.
 15. The image search infrastructure of claim14, wherein the processing infrastructure responds to a third of theplurality of search input by delivering images generated using both thetext matching process and the image characteristic matching process. 16.The image search infrastructure of claim 14, wherein the processinginfrastructure applies an adult content filtering process in response toa user setting.
 17. The image search infrastructure of claim 14, whereinthe processing infrastructure analyzes the plurality of images toidentify image characteristic parameters in advance of receiving theplurality of search input.
 18. The image search infrastructure of claim17, further comprising storage that has both a first data structure anda second data structure, the first data structure containing imagecharacteristic parameters of the plurality of images, and the seconddata structure containing the associated text.
 19. The image searchinfrastructure of claim 14, wherein at least one of the first searchresults and the second search results are sorted based on at least onefactor.
 20. The image search infrastructure of claim 19, wherein the atleast one factor comprises a popularity factor.
 21. The image searchinfrastructure of claim 14, wherein the second search results are sortedbased on how close image characteristics of the search image match asdetermined by the image characteristics matching process.
 22. A methodperformed by an image search infrastructure that supports deliveries ofimages selected from a plurality of images to a plurality of clientdevices, the plurality of images and associated text being identified ina web crawling process, the method comprising: receiving via thecommunication interface a plurality of search input from the pluralityof client devices, each of the plurality of search input comprising atleast one of a search string and a search image; generating, using atext matching process, a first search results containing first images;generating, using an image characteristics matching process, a secondsearch results containing second images; and delivering the first searchresults and the second search results.
 23. The method of claim 22,wherein the first search results and the second search results are bothdelivered to a first device of the plurality of client devices.
 24. Themethod of claim 23, wherein the first device produces a single visualimage that contains at least portions of both of the first searchresults and the second search results.
 25. The method of claim 22,further comprising responding to a user selection via one of theplurality of user devices by performing adult content image filtering.26. The method of claim 22, further comprising analyzing the pluralityof images to identify image characteristic in advance of receiving theplurality of search input, the image characteristics being used in theimage characteristics matching process.
 27. The method of claim 22,further comprising storing in a first data structure imagecharacteristic parameters of the plurality of images; and storing in asecond data structure the associated text.
 28. The method of claim 22,further comprising sorting, based on at least one factor, at least oneof the first search results and the second search results.
 29. Themethod of claim 28, wherein the at least one factor comprises apopularity factor.
 30. The method of claim 22, wherein the second searchresults are sorted based on closeness of matching as determined by theimage characteristics matching process.